home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) 1987, 1988 Stanley T. Shebs, University of Utah. */
- /* This program may be used, copied, modified, and redistributed freely */
- /* for noncommercial purposes, so long as this notice remains intact. */
-
- #pragma comment(exestr, "@(#) config.h 12.1 95/05/09 ")
-
- /* RCS $Header: config.h,v 1.5 88/07/20 16:05:05 shebs Exp $ */
-
- /* This file has several things that can be fiddled with; generally, */
- /* the more interesting things to tweak are closer to the front of the file. */
- /* Xconq is no longer wired to X; in fact, the specific graphics interface */
- /* is unknown until link time, and does not affect compilation. */
-
- /* Just a couple places where we care about machine type - but the main */
- /* program does assume argc/argv interface, which is a problem for micros. */
-
- #define UNIX
-
- /* These are wishful thinking at the moment. */
- /* #define ATARI */
- /* #define MAC */
-
- #define SCO_UNIX /* SCO UNIX 3.2.1 or later */
- /* #define BSD */ /* Berkeley Unix and probably Ultrix too */
- /* #define HPUX */ /* HP's mishmash of features */
- /* #define SYSV */ /* Darth Vader's favorite Unix */
- /* #define DGUX */ /* Data General is almost like BSD */
-
- #ifdef SCO_UNIX
- #define SELECT2 /* Can use select(2) to wait on several at once. */
- #define USECBREAK /* Use crmode() for raw mode in curses. */
- #endif
-
- #ifdef BSD
- #define SELECT2 /* Can use select(2) to wait on several at once. */
- #define USECRMODE /* Use crmode() for raw mode in curses. */
- #endif
-
- #ifdef HPUX
- #define SELECT2 /* Can use select(2) to wait on several at once. */
- #define USECBREAK /* Use cbreak() for raw mode in curses. */
- #endif
-
- #ifdef SYSV
- #define USECBREAK /* Use cbreak() for raw mode in curses. */
- #endif
-
- #ifdef DGUX
- #define SELECT2 /* Can use select(2) to wait on several at once. */
- #define USECRMODE /* Use crmode() for raw mode in curses. */
- #endif /* DGUX */
-
- #include <stdio.h>
- #include <ctype.h>
-
- #ifdef DGUX
- #include <string.h> /* To get malloc declaration */
- #endif /* DGUX */
-
- /* This is where predefined maps/scenarios/periods/fonts can be found. */
-
- #ifndef XCONQLIB
- #define XCONQLIB "/u/games/lib/xconq"
- #endif /* XCONQLIB */
-
- /* The newsfile always lives in the lib directory. */
-
- #define NEWSFILE "xconq.news"
-
- /* This file is a list of mapfiles to exhibit in menus; it will always be */
- /* in the lib directory. There are no automatic constructors for this */
- /* file, since it should contain only well-tested files added after careful */
- /* deliberation. */
-
- #define MAPFILEFILE "mapfiles"
-
- /* The name of the savefile. It will be put in the current directory. */
-
- #define SAVEFILE "save.xconq"
-
- /* This file gets the parameter listing for the period in use. */
- /* It will also be created in the current directory. */
-
- #define PARMSFILE "parms.xconq"
-
- /* This file gets the game statistics when it's all over. */
- /* It will also be created in the current directory. */
-
- #define STATSFILE "stats.xconq"
-
- /* This file gets a printout of the side's view. */
-
- #define VIEWFILE "view.xconq"
-
- /* This file gets a list of commands as they appear in the help window. */
-
- #define CMDFILE "cmds.xconq"
-
- /* Default random map sizes. Adjust these to taste - 60x60 is a moderate */
- /* length game, 30x30 is short, 360x120 is L-O-N-G ! */
-
- #define DEFAULTWIDTH 120
- #define DEFAULTHEIGHT 120
-
- /* Absolute maximum number of sides that can play. This limit can only be */
- /* extended by changing the representation of views of players from bytes */
- /* to something larger, thereby doubling (at least) space requirements. */
-
- #define MAXSIDES 7
-
- /* Absolute maximum number of kinds of units. (same restriction as above) */
-
- #define MAXUTYPES 30
-
- /* Maximum number of types of natural resources. This number can be set */
- /* higher, in fact I think the only limitation is that there won't be */
- /* enough distinct chars, but more rtypes means larger unit objects. */
-
- #define MAXRTYPES 6
-
- /* Maximum number of terrain types. Must be fewer than 256, but also */
- /* limited by display capabilities. */
-
- #define MAXTTYPES 20
-
- /* Maximum number of random side names that can be defined. */
-
- #define MAXSNAMES 200
-
- /* Maximum number of random unit names that can be defined. */
-
- #define MAXUNAMES 1000
-
- /* The maximum number of mapfiles that can be in menus. (Not a limit on the */
- /* total number of files that can exist, however.) */
-
- #define MAXMAPMENU 100
-
- /* The maximum number of mapfiles that can be loaded into a game (recursive */
- /* loads are not performed and not counted). */
-
- #define MAXLOADED 16
-
- /* Default game length in turns. */
-
- #define DEFAULTTURNS 1000
-
- /* Number of messages displayed at one time. No upper limit I believe, */
- /* but too many won't fit on the screen. The actual numbers of lines */
- /* displayed can be changed by the player, subject to limitations on the */
- /* screen space available. */
-
- #define MAXNOTES 20
-
- /* Default color of text and icons - 0 is for white on black, 1 */
- /* is for black on white. Should be set appropriately for the most */
- /* common monochrome display (color displays always do white on black). */
- /* This is also settable by the player, so the default is just for */
- /* convenience of the majority. */
-
- #define BLACKONWHITE 0
-
- /* When true, displays will use more graphics and less text. This can */
- /* also be toggled by players individually. */
-
- #define GRAPHICAL 0
-
- /* The default fonts can be altered by users, so these are just hints. */
- /* These options do not necessarily apply to non-X versions. */
-
- #ifdef SCO_UNIX
- #define TEXTFONT "8x13" /* works better for VGA */
- #else
- #define TEXTFONT "9x15"
- #endif /* SCO_UNIX */
- #define ICONFONT "xconq"
-
- /* All names, phrases, and messages must be able to fit in statically */
- /* allocated buffers of this size. */
-
- #define BUFSIZE 120
-
- /* If defined, a statistics file is written at the end of the game. */
- /* The numbers therein are only for serious gamers, and the files can */
- /* be embarassing clutter in your directory! */
-
- #define STATISTICS
-
- /* Initial limit on units and cities that can be active at one time. If */
- /* growable option is enabled, will try to grow the array to hold more. */
-
- #define INITMAXUNITS 1000
- /* #define GROWABLE */
-
- /* When this is enabled, machine players will be able to examine humans' */
- /* units rather more closely than is possible in reverse. In particular, */
- /* a machine will know just where the human units are, as well as their */
- /* current attributes (like hit points). */
-
- /* #define CHEAT */
-
- /* When the eye needs to be drawn to a particular spot on the screen, */
- /* the X interfaces will briefly flash an X. The time is set by this */
- /* value, which is measured in milliseconds that the X is visible, and */
- /* the flashing can be disabled entirely by supplying 0 here. */
-
- #define DELAY 100
-
- /* Some X11 servers die if too much is written between output flushes. */
- /* This can be used with any graphics system with a similar problem; */
- /* this option does not affect correctness, but may impact performance. */
-
- /*#define STUPIDFLUSH*/
-
- /* When allocating colors, the X interface will complain if the
- * red, green or blue values for the color differ more than this
- * value from what is expected.
- */
-
- #define COLOR_DIFF 1000
-
- #define MAX_COLORS 255
- #define MIN_COLORS 10
-